#-------------------------------------------------------------------------------
# Name:       errcode
# Purpose:
#
# Author:     SUPER_紫电  QQ,911344755
#
# Created:    19/09/2022
# Copyright:  (c) SUPER_紫电 2022 All rights reserved.
# Licence:    <Modified BSD License>
#-------------------------------------------------------------------------------

cfg_file_ext = 'err_code'
cfg_code_ext = ''
try:
    import ast
    with open('..\\{}.cfg'.format(cfg_file_ext), encoding='utf8') as cfg_file:
        for line in cfg_file:
            line = line.replace(' ', '').replace('\n', '')
            if line[0:len(cfg_file_ext)] == cfg_file_ext:
                line = '{'
            if line[0:1] == '#' or len(line) < 1:
                continue
            cfg_code_ext += line
        cfg_code_ext = ast.literal_eval(cfg_code_ext)
except:
    cfg_code_ext = {}

err_code = {
    '0x0000': 'SUCCESS',
    '0x0001': 'SCT_INVALID_FUNCTION_CODE',
    '0x0002': 'SCT_INVALID_LBA',
    '0x0003': 'SCT_REQ_SECNT_OVERFLOW',
    '0x0004': 'SCT_INVALID_ERR_RECOVERY_FUNCODE',
    '0x0005': 'SCT_INVALID_ERR_RECOVERY_SELECTCODE',
    '0x0006': 'SCT_HOST_RD_TIMER_LESS_THAN_MIN',
    '0x0007': 'SCT_HOST_WR_TIMER_LESS_THAN_MIN',
    '0x0008': 'SCT_BKG_CMD_ABORT_BY_INT_HOST_CMD',
    '0x0009': 'SCT_BKG_CMD_TERMINATED_UNREC_SERVO_ERR',
    '0x000A': 'SCT_INVALID_FUNC_CODE_IN_LNG_SCTR_ACC_CMD',
    '0x000B': 'SCT_DATA_XFER_CMD_ISSUED_WO_SCT_KEYSECTOR_CMD',
    '0x000C': 'SCT_INVALID_FUNC_CODE_IN_FEAT_CNTL_CMD',
    '0x000D': 'SCT_INVALID_FEATURE_CODE_IN_FEAT_CNTL_CMD',
    '0x000E': 'SCT_INVALID_NEW_STATE_FEATCTL_CMD',
    '0x000F': 'SCT_INVALID_OPTION_FLAGS_VAL_IN_FEAT_CNTL_CMD',
    '0x0010': 'SCT_INVALID_ACTION_CODE',
    '0x0011': 'SCT_INVALID_TABLE_ID',
    '0x0012': 'SCT_CMD_ABRT_DRV_SECURITY_LOCK',
    '0x0013': 'SCT_INVALID_REVISION_CODE',
    '0x0801': 'VSCE_CTLR_FW_REQ_CMD_ABRT',
    '0x0802': 'VSCE_ILLEGAL_DRIVE_MODEL',
    '0x0803': 'VSCE_ILLEGAL_PARM0',
    '0x0804': 'VSCE_ILLEGAL_PARM1',
    '0x0805': 'VSCE_ILLEGAL_PARM2',
    '0x0806': 'VSCE_ILLEGAL_PARM3',
    '0x0807': 'VSCE_ILLEGAL_CMD',
    '0x0808': 'VSCE_FATAL_SERVO_ERR',
    '0x0809': 'VSCE_TIMEOUT_ERR',
    '0x080A': 'VSCE_INDEX_NOT_FOUND_ERR',
    '0x080B': 'VSCE_SEC_CNT_MISMATCH_ERR',
    '0x080C': 'VSCE_SAM_ERR',
    '0x080D': 'VSCE_UNABLE_TO_SPINUP',
    '0x080E': 'VSCE_UNABLE_TO_SPINDOWN',
    '0x080F': 'VSCE_UNABLE_TO_SPEED',
    '0x0810': 'VSCE_BURST_SYNC_FAIL',
    '0x0811': 'VSCE_UNLATCH_FAIL',
    '0x0812': 'VSCE_CTR_PD_SEEK_FAIL',
    '0x0813': 'VSCE_BURST_SLOPE_CALIBR_FAIL',
    '0x0814': 'VSCE_FLEX_BIAL_CALIBR_FAIL',
    '0x0815': 'VSCE_MOTOR_TORQUE_CALIBR_FAIL',
    '0x0816': 'VSCE_RRO_CALIBR_FAIL',
    '0x0817': 'VSCE_FAR_GAIN_CALIBR_FAIL',
    '0x0818': 'VSCE_TRACK0_SEEK_FAIL',
    '0x0819': 'VSCE_RC_SERVO_GAIN_CALIBR_FAIL',
    '0x081A': 'VSCE_RC_LTR_OL_CALIBR_FAIL',
    '0x081B': 'VSCE_SNAPSHOT_GAIN_CALIBR_FAIL',
    '0x081C': 'VSCE_TANG_HD_OFFSET_CALIBR_FAIL',
    '0x081D': 'VSCE_BANDWIDTH_CALIBR_FAIL',
    '0x081E': 'VSCE_RRO_LEARNING_OVERFLOW',
    '0x081F': 'VSCE_RRO_LEARNING',
    '0x09FF': 'VSCE_RESERVED_FOR_SERVO_USE_END',
    '0x1004': 'VSCE_DRVPROT_DISK_ERROR_DRVPROVL',
    '0x1005': 'VSCE_DRVPROT_DISK_ERROR_DRVPROT1',
    '0x1007': 'VSCE_DRVPROT_DISK_ERROR_CFGSEC',
    '0x2024': 'VSCE_DRVPROT_CMD_ERROR_INVALID_CRC_CHKSUM',
    '0x2025': 'VSCE_DRVPROT_CMD_ERROR_INVALID_OPCODE',
    '0x2026': 'VSCE_DRVPROT_CMD_ERROR_KEYS_ALREADY_LOADED',
    '0x2027': 'VSCE_DRVPROT_CMD_ERROR_LOAD_ZERO_KEY',
    '0x2028': 'VSCE_DRVPROT_CMD_ERROR_INVALID_CONDITIONS',
    '0x2029': 'VSCE_DRVPROT_CMD_ERROR_INVALID_SUB_OPCODE',
    '0x202A': 'VSCE_DRVPROT_CMD_ERROR_INVALID_CUST_CONFIG',
    '0x202B': 'VSCE_DRVPROT_DRIVE_IS_UNLOCKED',
    '0x202C': 'VSCE_DRVPROT_DRIVE_IS_LOCKED',
    '0x202D': 'VSCE_DRVPROT_ENCRYPTION_KEYS_NOT_LOADED',
    '0x202E': 'VSCE_DRVPROT_DATA_SHOULD_NOT_BE_ENCRYPTED',
    '0x202F': 'VSCE_DRVPROT_DATA_SHOULD_BE_ENCRYPTED',
    '0x2030': 'VSCE_DRVPROT_CMD_ERROR_SET_ZERO_PASSWORD',
    '0x2031': 'VSCE_DRVPROT_LOCK_PREPARE_NOT_SET',
    '0x2032': 'VSCE_DRVPROT_CHANGE_KEY_WHILE_IN_LOCK_CNTDOWN',
    '0x2033': 'VSCE_DRVPROT_MISMATCH_HRN',
    '0x2034': 'VSCE_DRVPROT_MISMATCH_DRN',
    '0x2035': 'VSCE_DRVPROT_MISMATCH_PASSWORD',
    '0x2036': 'VSCE_DRVPROT_NO_HRN_OR_DRN_WAS_ISSUED',
    '0x2037': 'VSCE_DRVPROT_NO_PASSWORD_SET_IN_DRIVE',
    '0x2038': 'VSCE_DRVPROT_SET_PASSWORD_WHILE_LOCKCOUNTDOWN',
    '0x2039': 'VSCE_DRVPROT_LOCK_FAIL_UPD_CONFIG_OR_FLUSH_ERR',
    '0x3016': 'VSCE_VSC_MODE_DISABLED',
    '0x3037': 'VSCE_CONFIG_WRITE_FAILED',
    '0x3039': 'VSCE_CLEAR_DRM_SECTION_FAILED',
    '0x303A': 'VSCE_SET_CONFIG_LBA_FAILED',
    '0x303B': 'VSCE_FORMAT_SET_FAILED',
    '0x303D': 'VSCE_ERROR_RATE_TBL_NOT_PRESENT',
    '0x303E': 'VSCE_IBI_MODE_BIT_NOT_SET',
    '0x3041': 'VSCE_PERM_OVL_ALREADY_LOADED',
    '0x3042': 'VSCE_PERM_OVL_NOT_LOADED',
    '0x3044': 'VSCE_INVALID_DRM_GROUP_SECTION',
    '0x3045': 'VSCE_INVALID_DRM_GROUP_QSUBSECTION',
    '0x3046': 'VSCE_DRM_GROUP_QUEUE_EMPTY',
    '0x3047': 'VSCE_INVALID_DRM_GROUP_LSUBSECTION',
    '0x3048': 'VSCE_INVALID_DRM_SUBSECTION',
    '0x3049': 'VSCE_INVALID_LIFE_QUEUE_FLAG',
    '0x304A': 'VSCE_PROTOCOL_VIOLATION',
    '0x304B': 'VSCE_DEPOP_DISABLED',
    '0x304C': 'VSCE_DEPOP_INVALID_APB',
    '0x3059': 'LAST_BKGRND_VSC_CMD_FAILED_SEE_SECNDRY_ERR_CODE_FOR_EXT_ERR',
    '0x3208': 'VSCE_ODTAA_NOT_INITD',
    '0x3209': 'VSCE_TLIST_DATA_NOT_AVAIL',
    '0x320C': 'VSCE_ODTAA_RD_WDG_ERR',
    '0x320E': 'VSCE_RRO_NOT_INITD',
    '0x3219': 'VSCE_DRM_SPN_COUNTERS_READ_FAIL',
    '0x321A': 'VSCE_DRM_ACT_COUNTERS_READ_FAIL',
    '0x321B': 'VSCE_STATIC_FILE_INVALID',
    '0x321C': 'VSCE_MRM_REQUEST_FAILED',
    '0x321D': 'VSCE_MRM_REQUEST_TIMED_OUT',
    '0x321E': 'VSCE_MRM_REQUEST_REJECTED',
    '0x321F': 'VSCE_MRM_REQUEST_CANCELED',
    '0x3220': 'VSCE_MRM_START_CANCELED',
    '0x3221': 'VSCE_MRM_WAIT_CANCELED',
    '0x3222': 'VSCE_RESOURCE_ALLOCATION_FAILED',
    '0x3223': 'VSCE_DRM_LOG_NOT_LOADED',
    '0x3224': 'VSCE_DFH_CALIBRATION_FAILED',
    '0x3225': 'VSCE_DRM_LOG_SECTIONS_BAD_CHECKSUM',
    '0x3232': 'VSCE_DRM_LOG_PERIOD_LOG_BAD_CHECKSUM',
    '0x3300': 'SMART_READ_SELF_TEST_LOG_ERR',
    '0x3301': 'SMART_DRM_LOG_HAS_NOT_BEEN_LOADED',
    '0x3307': 'SMART_DRM_LOAD_DISABLED',
    '0x3502': 'CA_FLUSH_CACHEDRELO_GOT_DISK_ERROR',
    '0x3503': 'CA_CANT_INVALIDATE_SD_IN_DYNAMIC_STATE',
    '0x3600': 'RSC_ALLOCATION_SECTORS_BEYOND_RANGE',
    '0x3602': 'RSC_ALLOCATION_GOT_DISK_ERROR',
    '0x3603': 'RSC_ALLOCATION_NO_CONTI_BUFFER',
    '0x3604': 'RSC_ALLOCATE_TRANSIENT_WITH_CACHE_VALID',
    '0x3605': 'RSC_ALLOCATE_TRANSIENT_BUFFER_USED',
    '0x3606': 'RSC_ALLOCATE_SD_NO_SD',
    '0x3607': 'RSC_ALLOCATION_NO_BUFFERS_AVAIL',
    '0x3608': 'RSC_ALLOCATION_GOT_DISK_ERROR_DBS',
    '0x3700': 'FM_ERR_FILE_INFO',
    '0x3701': 'FM_ERR_DIR',
    '0x3702': 'FM_ERR_FILE_ID',
    '0x3703': 'FM_ERR_CHECKSUM',
    '0x3704': 'FM_ERR_COMPAT',
    '0x3705': 'FM_ERR_TIMEOUT',
    '0x3706': 'FM_ERR_NOT_STATIC_FILE',
    '0x3707': 'FM_ERR_NO_BUFFER',
    '0x3708': 'FM_ERR_DRIVE_NOT_READY',
    '0x3709': 'FM_ERR_FILEHDR_FILESIZE_ZERO',
    '0x370A': 'FM_ERR_INCOMPATIBLE_VERSION',
    '0x370C': 'FM_ERR_NOT_FLASH_FILE',
    '0x370D': 'FM_CANT_RENAME_TO_EXISTING_FILE_ID',
    '0x370E': 'FM_ERR_FILES_GOOD_BUT_CHECKSUMS_DIFFERENT',
    '0x370F': 'FM_ERR_HEADER_II_SIGNATURE_INVALID',
    '0x3710': 'FM_ERR_HEADER_II_TOO_SMALL',
    '0x3711': 'FM_ERR_PARTIAL_FILE_REQUEST_INVALID',
    '0x3712': 'FM_SECTOR_COUNT_EXCEEDS_MAX_ALLOCATED_BUFFER',
    '0x3713': 'FM_ERR_FILE_SIZE_EXCEEDS_STATIC_BUFFER_SIZE',
    '0x3714': 'FM_ERR_PARTIAL_FILE_BUF_OFFSET_EXCEEDS_EOF',
    '0x3715': 'FM_ERR_PARTIAL_FILE_SEC_COUNT_EXCEEDS_EOF',
    '0x3716': 'FM_ERR_NO_SD_CREATED_FOR_THE_REQUESTED_FILE_ID',
    '0x3717': 'FM_NO_MORE_SPACE_IN_DIR',
    '0x3718': 'FM_NUM_COPY_MORE_THEN_MAX_COPY',
    '0x3719': 'FM_NO_MORE_SPACE_IN_REGION',
    '0x3720': 'FM_FILE_CANNOT_CREATE_ON_EXISTING_FILE',
    '0x3721': 'FM_ERR_FILE_ENTRY_NUM_NOT_FOUND_IN_DIRSEC',
    '0x3722': 'FM_ERR_TRYING_TO_COPY_TO_SAME_REGION',
    '0x3723': 'FM_ERR_FILE_INIT_PLACEHOLDER_BIT_NOT_SET',
    '0x3724': 'FM_ERR_FILE_TARGET_RLBA_OVERLAP',
    '0x3725': 'FM_ERR_NO_CONTIGUOUS_SPACE_IN_REGION',
    '0x3726': 'FM_ERR_CANNOT_RESOLVE_OVERLAP',
    '0x3727': 'FM_ERR_CANNOT_FREE_ENOUGH_SPACE',
    '0x3728': 'FM_ERR_CANNOT_CREATE_CONTIGUOS_SPACE_IN_REGION',
    '0x3729': 'FM_ERR_REQUESTRLBA_EXCEED_REGION_DOUNDARY',
    '0x3730': 'FM_ERR_DIRECTORY_ENTRY_NOT_SAME',
    '0x3731': 'FM_ERR_DEFRAG_DETECT_PKT_FILE_IN_RSVD',
    '0x3732': 'FM_ERR_GATHER_FIELD_FILE',
    '0x3733': 'FM_ERR_SORT_DIR_SECTOR',
    '0x3734': 'FM_ERR_DEFRAG_RSVD',
    '0x3801': 'BG_ERR_PST_ABORTED_BY_RESET',
    '0x3802': 'BG_ERR_PST_ABORTED_BY_DEADMAN',
    '0x3803': 'BG_ERR_INVALID_ASCAN_CFGPARMS',
    '0x3804': 'BG_TLIST_DATA_NOT_AVAIL',
    '0x3805': 'BG_PST_UNABLE_TO_LOAD_PTM',
    '0x3806': 'BG_PST_RSC_ALLOCATION_FAILED',
    '0x3807': 'BG_PST_DISABLED_VIA_DEBUGSTOP',
    '0x3809': 'BG_ERR_BACKGROUND_DISABLED',
    '0x380A': 'BG_PST_INVALID_PTM_LOAD_ADDRESS',
    '0x380B': 'BG_PST_INVALID_PTM_START_ADDRESS',
    '0x380C': 'BG_ERR_NONCAPTIVE_MEMORY_TEST_NOT_ALLOWED',
    '0x380D': 'BG_PST_UNABLE_TO_FLASH_PTM',
    '0x380E': 'BG_ERR_SELFTEST_ABORTED_TIMEDOUT',
    '0x3900': 'OVM_PERMANENT_ALREADY_LOADED',
    '0x3901': 'OVM_TRANSIENT_ALREADY_LOADED',
    '0x3902': 'OVM_PERMANENT_NOT_LOADED',
    '0x3903': 'OVM_TRANSIENT_NOT_LOADED',
    '0x3904': 'OVM_ERR_NOT_COMPATIBLE',
    '0x3905': 'OVM_ERR_CHECKSUM',
    '0x3906': 'OVM_UNDEFINED_FN',
    '0x3907': 'OVM_ERR_BUILDID_MISMATCH',
    '0x3A00': 'FLASH_UNKNOWN_ERROR',
    '0x3A01': 'FLASH_INVALID_FLASH_SECTOR_ADDRESS',
    '0x3A02': 'FLASH_WRITE_LATCH_ENABLE_ERROR',
    '0x3A03': 'FLASH_WRITE_PAGE_SEND_BYTE_ERROR',
    '0x3A04': 'FLASH_WRITE_PAGE_TIMEOUT',
    '0x3A05': 'FLASH_WRITE_PAGE_TO_SMEM_ERROR',
    '0x3A06': 'FLASH_READ_BLOCK_GET_BYTE_ERROR',
    '0x3A07': 'FLASH_BYTE_COUNT_EXCEEDS_DEVICE_LIMIT',
    '0x3A08': 'FLASH_INVALID_FLASH_ADDRESS',
    '0x3A09': 'FLASH_INITIAL_BOOT_HEADER_MISSING',
    '0x3A0A': 'FLASH_SEND_BYTE_TIMEOUT',
    '0x3A0B': 'FLASH_READ_CMD_ERROR',
    '0x3A0C': 'FLASH_INVALID_FLASH_DATA',
    '0x3A0D': 'FLASH_DATA_COMPARE_ERROR',
    '0x3A0E': 'FLASH_DEVICE_ID_ERROR',
    '0x3A0F': 'FLASH_READ_INFO_START_TIMEOUT',
    '0x3A10': 'FLASH_STATUS_TIMEOUT',
    '0x3A11': 'FLASH_COMMAND_TIMEOUT',
    '0x3A20': 'DPTM_MALLOC_FAILURE',
    '0x3A21': 'DPTM_FREE_FAILURE',
    '0x3A22': 'DPTM_INITIALIZATION_FAILURE',
    '0x3A23': 'DPTM_FAILED_TO_PROCESS_DOWNLOADED_PACKET',
    '0x3A24': 'DPTM_FAILED_TO_BACK_UP_FLASH_FILES',
    '0x3A25': 'DPTM_PRESERVED_FILE_HAS_DIFF_VERSION_OR_SIZE',
    '0x3A26': 'DPTM_UNHANDLED_FILELIST_EXCEPTION',
    '0x3A27': 'DPTM_FILE_ID_NOT_IN_FILE_LIST',
    '0x3A28': 'DPTM_FLASH_WRITE_BUFFER_INVALID',
    '0x3A29': 'DPTM_FLASH_IMAGE_TOO_BIG',
    '0x3A2A': 'DPTM_FLASH_PROGRAM_FAILURE',
    '0x3A2B': 'DPTM_FAILED_TO_VERIFY_PROGRAMMED_FLASH',
    '0x3A2C': 'DPTM_FAILED_TO_APPLY_MOD_BYTES',
    '0x3A2D': 'DPTM_CLEANUP_FAILURE',
    '0x3A2E': 'DPTM_FAILED_TO_WRITE_CFG',
    '0x3A60': 'RSEEK_MALLOC_FAILURE',
    '0x3A61': 'RSEEK_FREE_FAILURE',
    '0x3B00': 'SELFTEST_CHECK_RES_FILE_ERROR',
    '0x3B01': 'SELFTEST_SCAN_ERROR',
    '0x3B02': 'SELFTEST_SRAM_HARD_ERROR',
    '0x3B03': 'SELFTEST_SRAM_SOFT_ERROR',
    '0x3B04': 'SELFTEST_SRAM_MULTISOFT_ERROR',
    '0x3B05': 'SELFTEST_DRAM_HARD_ERROR',
    '0x3B06': 'SELFTEST_DRAM_SOFT_ERROR',
    '0x3B07': 'SELFTEST_DRAM_MULTISOFT_ERROR',
    '0x3B08': 'SELFTEST_TRANSIENT_LOAD_FAULT',
    '0x3C00': 'FMT_ERR_PLIST_NOT_FOUND',
    '0x3C01': 'FMT_ERR_INVALID_PLIST',
    '0x3C02': 'FMT_ERR_GLIST_NOT_FOUND',
    '0x3C03': 'FMT_ERR_INVALID_GLIST',
    '0x3C04': 'FMT_ERR_EXCEEDED_PUSH_DOWNS',
    '0x3C05': 'FMT_ERR_PDLIST_WRT_FAIL',
    '0x3C06': 'FMT_ERR_NEW_BAD_TRKS',
    '0x3C07': 'FMT_ERR_FRMT_FAILURE',
    '0x3C08': 'FMT_ERR_EXCEEDED_GLIST',
    '0x3C09': 'FMT_ERR_GLIST_WRT_FAIL',
    '0x3C0A': 'FMT_ERR_CAPACITY',
    '0x3C0B': 'FMT_ERR_ZSD_NOT_LOADED',
    '0x3C0C': 'FMT_ERR_BUF_ALLOCATION',
    '0x3C0D': 'FMT_ERR_RELOLIST_WRT_FAIL',
    '0x3C0E': 'FMT_ERR_PDLIST_NOT_FOUND',
    '0x3C0F': 'FMT_ERR_RELOLIST_NOT_FOUND',
    '0x3C10': 'FMT_ERR_EXCEEDED_RELOLIST',
    '0x3C11': 'FMT_ERR_WRT_FAIL',
    '0x3C12': 'FMT_ERR_EXCEEDED_RPDLIST',
    '0x3C13': 'FMT_ERR_RPDLIST_WRT_FAIL',
    '0x3C14': 'FMT_ERR_RPDLIST_NOT_LOADED',
    '0x3C15': 'FMT_PLIST_PSN_OUT_OF_RANGE',
    '0x3C16': 'FMT_PUSHCOUNT_OVERFLOW',
    '0x3C17': 'FMT_HASH_TABLE_OVERFLOW',
    '0x3C18': 'FMT_ERR_INVALID_ZONE_TABLE',
    '0x3C19': 'FMT_ERR_CANT_MERGE_PGLIST',
    '0x3C1A': 'FMT_ERR_PLIST_WRT_FAIL',
    '0x3C1B': 'FMT_ERR_SLIPS_EXCEED_LIMIT',
    '0x3C1C': 'FMT_ERR_TRACK_PUSHED_DOWN',
    '0x3C1D': 'FMT_ERR_FLIST_WRT_FAIL',
    '0x3C1E': 'FMT_PLIST_CYLINDER_OUT_OF_RANGE',
    '0x3C1F': 'FMT_PLIST_HEAD_OUT_OF_RANGE',
    '0x3C20': 'FMT_ERR_REMERGE_REQUIRED',
    '0x3D80': 'DFL_DFCTFND',
    '0x3D81': 'DFL_NODEFECT',
    '0x3D82': 'DFL_TRKDFCTFND',
    '0x3D83': 'DFL_EMPTY',
    '0x3D84': 'DFL_NOMEM',
    '0x3D85': 'DFL_PLWRERR',
    '0x3D86': 'DFL_GLWRERR',
    '0x3D87': 'DFL_PDLWRERR',
    '0x3D89': 'DFL_RELOLWRERR',
    '0x3D8A': 'DFL_GLFULL',
    '0x3D8B': 'DFL_PLFULL',
    '0x3D8C': 'DFL_CLFULL',
    '0x3D8D': 'DFL_PLDEFECT',
    '0x3D8E': 'DFL_GLDEFECT',
    '0x3D8F': 'DFL_NOLIST',
    '0x3D90': 'DFL_DEF1_LT',
    '0x3D91': 'DFL_DEF1_GT',
    '0x3D92': 'DFL_DEF1_EQ',
    '0x3D93': 'DFL_INVALIDLBA',
    '0x3D94': 'DFL_INVALIDLBARANGE',
    '0x3D95': 'DFL_DUPLICATEDEFECT',
    '0x3D96': 'DFL_DLFULL',
    '0x3E00': 'CACHE_RELO_SPARE_RW_TIMEOUT',
    '0x3E01': 'CACHE_RELO_INSUFFICIENT_CACHE_SPACE',
    '0x3E02': 'CACHE_RELO_READ_RELO_DOES_NOT_EXIST',
    '0x3E03': 'CACHE_RELO_WRITE_RELO_DOES_NOT_EXIST',
    '0x3E04': 'CACHE_RELO_READ_NEW_RELO_FAILURE',
    '0x3E05': 'CACHE_RELO_LOAD_TRACK_CACHE_FAILURE',
    '0x3E06': 'CACHE_RELO_RW_IN_PROGRESS',
    '0x3F00': 'DM_TRANSLATION_OUT_OF_RANGE',
    '0x3F01': 'DM_SECTOR_OUT_OF_RANGE',
    '0x3F02': 'DM_RM_NOT_A_SPARE_RELO',
    '0x3F03': 'DM_RM_NOT_A_SPARE_LBA',
    '0x3F04': 'DM_RM_NOT_A_RELOLIST_ENTRY',
    '0x3F05': 'DM_RM_NOT_A_USER_LBA',
    '0x3F06': 'DM_RM_INSERTING_IN_FULL_RELOLIST',
    '0x3F07': 'DM_RM_INSERTING_AN_EXISTING_LBA',
    '0x3F08': 'DM_HEAD_CHK_WRONG_CYL_FOR_RSVD_AREA',
    '0x3F09': 'DM_HEAD_CHK_WRONG_HEAD_FOR_USER_AREA',
    '0x3F0A': 'DM_RM_NO_MORE_SPARES_FOR_CACHE_RELO',
    '0x4080': 'FMT_RSVD_ERROR_RPDLIST_OVERFLOW',
    '0x4081': 'FMT_RSVD_ERROR_RPLIST_PSN_OUT_OF_RANGE',
    '0x4082': 'FMT_RSVD_ERROR_RPLIST_FILE_ID_INVALID',
    '0x4083': 'FMT_RSVD_HASH_BLOCK_EMPTY',
    '0x4084': 'FMT_RSVD_ERROR_HEAD_COUNT_ZERO',
    '0x4085': 'FMT_RSVD_ERROR_ZONE_TABLE_SPT_ZERO',
    '0x4086': 'FMT_RSVD_ERROR_NO_SPARES_AVAILABLE',
    '0x4087': 'FMT_RSVD_REGION_CROSSES_HEAD_BOUNDARY',
    '0x4088': 'FMT_RSVD_REGION_TOO_LARGE',
    '0x4089': 'FMT_RSVD_TWO_REGION_ON_SAME_VIRT_HEAD',
    '0x4100': 'MEMORY_TEST_DATA_BUS_ERROR',
    '0x4101': 'MEMORY_TEST_ADDRESS_BUS_ERROR',
    '0x4102': 'MEMORY_TEST_DEVICE_BUS_ERROR',
    '0x4506': 'HOST_DLMC_BAD_COMP_CHAR',
    '0x4509': 'HOST_DLMC_INVALID_PACKET',
    '0x450C': 'HOST_DLMC_INVALID_PROD_FAMILY',
    '0x451E': 'HOST_DLMC_INVALID_TPI_CODE',
    '0x4520': 'HOST_DLMC_INVALID_SECTION_OFFSET',
    '0x4524': 'HOST_DLMC_INVALID_CUST_ID',
    '0x4525': 'HOST_DLMC_TOTAL_XFERRED_TOO_LARGE',
    '0x4526': 'HOST_DLMC_ERROR_SAVING_DRV_STATE',
    '0x4527': 'HOST_DLMC_XFER_SIZE_OUT_OF_RANGE',
    '0x4580': 'HOST_LATCHED_FATAL_WRITE_FAULT',
    '0x4582': 'HOST_RESIDENT_FILES_NOT_LOADED',
    '0x4583': 'HOST_DEBUGSTOP_OCCURRED',
    '0x4584': 'HOST_DOWNLOAD_MICRCODE_ERROR',
    '0x4585': 'HOST_DOWNLOAD_MICRCODE_NO_SD',
    '0x4587': 'HOST_CACHE_OVERLAY_NOT_LOADED',
    '0x4588': 'HOST_DOWNLOAD_MICRCODE_NO_PTM_CODE',
    '0x4612': 'HOST_ABORTED_CMD',
    '0x4630': 'HOST_XFER_CANCEL_ERROR',
    '0x4700': 'CACHE_FLUSH_FAILURE1',
    '0x4701': 'CACHE_FLUSH_FAILURE2',
    '0x4900': 'COMMAND_TIMEOUT_ERROR',
    '0x4901': 'COMMAND_TIMEOUT_AV_CCTO_ERROR',
    '0x4902': 'COMMAND_TIMEOUT_SA_STREAMING_ERROR',
    '0x4903': 'COMMAND_TIMEOUT_TLER_ERROR',
    '0x4904': 'COMMAND_TIMEOUT_RD_TLER_ERROR',
    '0x4905': 'COMMAND_TIMEOUT_WR_TLER_ERROR',
    '0x5100': 'DISK_NON_ERROR_STATUS_RANGE_RSVD',
    '0x5101': 'DISK_ECC_CORRECTED',
    '0x5102': 'DISK_TA_DET_STATUS',
    '0x5103': 'DISK_TA_2ND_SYNC_MARK_ERROR',
    '0x5104': 'DISK_UNSAFE_2ND_SYNC_MARK_ERROR',
    '0x5120': 'DISK_ERROR_DRM_LOG_RANGE_RSVD',
    '0x5122': 'DISK_FIFO_OVER_UNDER',
    '0x5123': 'DISK_FIFO_OVER_RUN',
    '0x5124': 'DISK_FIFO_UNDER_RUN',
    '0x5125': 'DISK_SEC_PULSE_RG_ERROR',
    '0x5126': 'DISK_SEC_PULSE_WG_ERROR',
    '0x5127': 'DISK_ECC_DATA_SIZE_ERROR',
    '0x5128': 'DISK_RG_OVER_SERVO_ERROR',
    '0x5180': 'DISK_DAM_ERROR_RANGE_RSVD',
    '0x5181': 'DISK_DAM_ERROR',
    '0x5182': 'DISK_DAM_TA_ERROR',
    '0x5183': 'DISK_SEC_PULSE_RG_ERROR_RECOVER',
    '0x5184': 'DISK_ECC_DATA_SIZE_ERROR_RECOVER',
    '0x5185': 'DISK_RG_OVER_SERVO_ERROR_RECOVER',
    '0x5190': 'DISK_SPBA_ERROR_RANGE_RSVD',
    '0x5191': 'DISK_SPBA_ERROR',
    '0x5192': 'DISK_TIMEOUT_SEC_NOTFOUND_ERROR',
    '0x51A0': 'DISK_ECC_ERROR_RANGE_RSVD',
    '0x51A1': 'DISK_CRC_ERROR',
    '0x51A2': 'DISK_ECU_UNSAFE_ERROR',
    '0x51A3': 'DISK_ECU_UNSAFE_TA_ERROR',
    '0x51C0': 'DISK_WRITE_ERROR_RANGE_RSVD',
    '0x51C1': 'DISK_WRITE_ERROR',
    '0x51E0': 'DISK_TIMEOUT_ERROR_RANGE_RSVD',
    '0x51E2': 'DISK_TIMEOUT_DM_NOT_ACTIVE_ERROR',
    '0x51E3': 'DISK_TIMEOUT_DM_NOT_ACTIVE_ERROR_RD',
    '0x51E4': 'DISK_TIMEOUT_DM_NOT_ACTIVE_ERROR_WRT',
    '0x51E5': 'DISK_TIMEOUT_BUFFER_NOT_READY_ERROR',
    '0x51E6': 'DISK_TIMEOUT_DF_ERROR',
    '0x51E7': 'DISK_GENERAL_ERROR',
    '0x51E8': 'DISK_TIMEOUT_TLER_ERROR',
    '0x51E9': 'DISK_EVENT_TIMEOUT_DF_ERROR',
    '0x51EA': 'DISK_BUFFER_FULL_ERROR',
    '0x5200': 'DISK_NOT_USED_ERROR_5200',
    '0x5201': 'DISK_NOT_USED_ERROR_5201',
    '0x5203': 'DISK_NOT_USED_ERROR_5203',
    '0x5204': 'DISK_ER_FWECC_FAILURE',
    '0x5205': 'DISK_NOT_USED_ERROR_5205',
    '0x5206': 'DISK_NOT_USED_ERROR_5206',
    '0x5207': 'DISK_NOT_USED_ERROR_5207',
    '0x5208': 'DISK_NOT_USED_ERROR_5208',
    '0x5209': 'DISK_NOT_USED_ERROR_5209',
    '0x521A': 'DISK_RECAL_FAILURE',
    '0x521B': 'DISK_NOT_USED_ERROR_521B',
    '0x521C': 'TONESCAN_DEFECT_BUFFER_OVERFLOW_ERROR',
    '0x521D': 'DISK_WEDGE_COMMAND_IN_PROGRESS',
    '0x521E': 'DISK_SPINUP_TIMEOUT1',
    '0x521F': 'DISK_SPINUP_TIMEOUT2',
    '0x5220': 'DISK_WEDGE_INVALID_WEDGE_COUNT',
    '0x5221': 'DISK_RELO_PERM_OVL_NOT_LOADED',
    '0x5230': 'RELO_SST_FAILED',
    '0x5231': 'RELO_NOT_POSSIBLE_ON_SPARE',
    '0x5232': 'RELO_INVALID_REQUEST_COUNT',
    '0x5233': 'RELO_NOT_POSSIBLE_ON_RSVD',
    '0x5234': 'DISK_STOP_ON_CREATE_RELO',
    '0x5235': 'DISK_STOP_ON_CREATE_TARE',
    '0x5236': 'RELO_DISABLED',
    '0x5237': 'RELO_DISABLED_YOU_DIDNT_RUN_FMTUNIT',
    '0x5238': 'RELO_IN_POST_READ_CANCELLED',
    '0x5239': 'RELO_LAST_LBA_IN_USER_AREA',
    '0x523A': 'RELO_DISABLED_NOT_INITED',
    '0x523B': 'RELO_EC_SPARE_LBA_WITH_NO_USER_LBA',
    '0x5240': 'PM_ILLEGAL_MODE_TRANSITION',
    '0x5241': 'PM_TRANSITION_NOT_NEEDED_OK',
    '0x5250': 'DISK_NOT_USED_ERROR_5250',
    '0x5251': 'DISK_CHANNEL_HEAD_SIZE_INIT_ERROR',
    '0x5380': 'DISK_SERVO_ERROR',
    '0x5381': 'DISK_SERVO_NOT_READY_ERROR',
    '0x53A0': 'DISK_SERVO_SPINDLE_ERROR',
    '0x53A1': 'DISK_SERVO_SPINDLE_SPINUP_ERROR',
    '0x53A2': 'DISK_SERVO_SPINDLE_SPINDOWN_ERROR',
    '0x53A3': 'DISK_SERVO_SPINDLE_OFF_SPEED_ERROR',
    '0x53A4': 'DISK_SERVO_SPINDLE_SPINUP_FATAL_ERROR',
    '0x53A5': 'DISK_SERVO_SPINDLE_GET_SPINUP_TIME_ERROR',
    '0x53C0': 'DISK_SERVO_ACTUATOR_ERROR',
    '0x53C1': 'DISK_SERVO_ACTUATOR_DRV_FLT_ERROR',
    '0x53C2': 'DISK_SERVO_ACTUATOR_ABORT_ERROR',
    '0x53C3': 'DISK_SERVO_ACTUATOR_WRT_INH_ERROR',
    '0x53C4': 'DISK_SERVO_ACTUATOR_CTRL_FLT_ERROR',
    '0x53C5': 'DISK_SERVO_ACTUATOR_SHOCK_FLT_ERROR',
    '0x53C6': 'DISK_SERVO_ACTUATOR_WR_UNSAFE_ERROR',
    '0x53C7': 'DISK_SERVO_ACTUATOR_SRV_FLT_ERROR',
    '0x53C8': 'DISK_SERVO_ACTUATOR_WG_MASK_ERROR',
    '0x53C9': 'DISK_SERVO_ACTUATOR_FATAL_ERROR',
    '0x53CA': 'DISK_SERVO_ACTUATOR_TIMEOUT_ERROR',
    '0x53CB': 'DISK_SERVO_ACTUATOR_SAIL_ERROR',
    '0x53CC': 'DISK_SERVO_ACTUATOR_BAD_WEDGE_ERROR',
    '0x53CD': 'DISK_SERVO_ACTUATOR_NO_SC_TARGET_WEDGE_ERROR',
    '0x53CE': 'DISK_SERVO_ACTUATOR_SPLIT_EN_TIMEOUT_ERROR',
    '0x53CF': 'DISK_SERVO_ACTUATOR_TBG_UNLOCK_DET',
    '0x53D1': 'DISK_SERVO_WRT_FLT_WRITE_UNSAFE_ERROR',
    '0x53D2': 'DISK_SERVO_WRT_FLT_SPINDLE_AT_SPEED_ERROR',
    '0x53D3': 'DISK_SERVO_WRT_FLT_SSM_TIMEOUT_ERROR',
    '0x53D4': 'DISK_SERVO_WRT_FLT_ILLEGAL_GRAY_CODE_ERROR',
    '0x53D5': 'DISK_SERVO_WRT_FLT_ILLEGAL_CYL_ERROR',
    '0x53D6': 'DISK_SERVO_WRT_FLT_OFFTRACK_ERROR',
    '0x53D7': 'DISK_SERVO_WRT_FLT_FATAL_ERROR_PATH_SERVO_DEAD',
    '0x53D8': 'DISK_SERVO_WRT_FLT_READ_OFFTRACK_ERROR',
    '0x53D9': 'DISK_SERVO_WRT_FLT_TONESCAN_SSM_TIMEOUT_ERROR',
    '0x53E0': 'DISK_SERVO_ERROR_REQUIRES_ACT_INIT',
    '0x53E1': 'DISK_SERVO_ACTUATOR_AI_NO_SC_TARGET_WEDGE_ERROR',
    '0x53E2': 'DISK_SERVO_ACTUATOR_AI_TIMEOUT_ERROR',
    '0x53E3': 'DISK_SERVO_ACTUATOR_AI_BAD_WEDGE_ERROR',
    '0x53E4': 'DISK_SERVO_ACTUATOR_AI_FATAL_ERROR',
    '0x53F1': 'DISK_SERVO_WRT_FLT_AI_WRITE_UNSAFE_ERROR',
    '0x53F2': 'DISK_SERVO_WRT_FLT_AI_SPINDLE_AT_SPEED_ERROR',
    '0x53F3': 'DISK_SERVO_WRT_FLT_AI_SSM_TIMEOUT_ERROR',
    '0x53F4': 'DISK_SERVO_WRT_FLT_AI_ILLEGAL_GRAY_CODE_ERROR',
    '0x53F5': 'DISK_SERVO_WRT_FLT_AI_ILLEGAL_CYL_ERROR',
    '0x53F6': 'DISK_SERVO_WRT_FLT_AI_OFFTRACK_ERROR',
    '0x53F7': 'DISK_SERVO_WRT_FLT_AI_FATAL_ERROR_PATH_SERVO_DEAD',
    '0x53F8': 'DISK_SERVO_WRT_FLT_AI_READ_OFFTRACK_ERROR',
    '0x5400': 'SERVO_ERROR_CODE_BASE_SVIROK',
    '0x5401': 'SERVO_ERROR_CODE_BASE_SVIRABORT',
    '0x5402': 'SERVO_ERROR_CODE_BASE_SVIRMODEL',
    '0x5410': 'SERVO_ERROR_CODE_BASE_SVIRHED',
    '0x5411': 'SERVO_ERROR_CODE_BASE_SVIRCYL',
    '0x5412': 'SERVO_ERROR_CODE_BASE_SVIRPARM1',
    '0x5413': 'SERVO_ERROR_CODE_BASE_SVIRPARM2',
    '0x5414': 'SERVO_ERROR_CODE_BASE_SVIRPARM3',
    '0x5416': 'SERVO_ERROR_CODE_BASE_SVIR_LENGTH',
    '0x5418': 'SERVO_ERROR_CODE_BASE_SVIRCMND',
    '0x5420': 'SERVO_ERROR_CODE_BASE_SVIRERR',
    '0x5421': 'SERVO_ERROR_CODE_BASE_SVIRTO',
    '0x5422': 'SERVO_ERROR_CODE_BASE_SVIRINDX',
    '0x5423': 'SERVO_ERROR_CODE_BASE_SVIRSECT',
    '0x5424': 'SERVO_ERROR_CODE_BASE_SVIRSAMERR',
    '0x5426': 'SERVO_ERROR_CODE_BASE_SVIRWRROONTK2LRN',
    '0x5427': 'SERVO_ERROR_CODE_BASE_SVIRWRROONTK2WRT',
    '0x5428': 'SERVO_ERROR_CODE_BASE_SVIRWRROCALIBLRN',
    '0x5429': 'SERVO_ERROR_CODE_BASE_SVIRWRROBRSTERR',
    '0x542a': 'SERVO_ERROR_CODE_BASE_SVIRWRRORDLIMLRN',
    '0x542b': 'SERVO_ERROR_CODE_BASE_SVIRWRROJOGLRNERR',
    '0x542c': 'SERVO_ERROR_CODE_BASE_SVIRWRROWRITEERR',
    '0x542d': 'SERVO_ERROR_CODE_BASE_SVIRWRROSETUPERR',
    '0x542e': 'SERVO_ERROR_CODE_BASE_SVIRWRROTROLIMLRN',
    '0x5430': 'SERVO_ERROR_CODE_BASE_SVIRSPINUP',
    '0x5431': 'SERVO_ERROR_CODE_BASE_SVIRSPINDOWN',
    '0x5440': 'SERVO_ERROR_CODE_BASE_SVIRACTSPEED',
    '0x5441': 'SERVO_ERROR_CODE_BASE_SVIRACTSYNC',
    '0x5442': 'SERVO_ERROR_CODE_BASE_SVIRACTUNLAT',
    '0x5443': 'SERVO_ERROR_CODE_BASE_SVIRACTPDFAIL',
    '0x5444': 'SERVO_ERROR_CODE_BASE_SVIRDRVNOTCAL',
    '0x5447': 'SERVO_ERROR_CODE_BASE_SVIRWRROLOADERR',
    '0x5449': 'SERVO_ERROR_CODE_BASE_SVIRWRROCMPERR',
    '0x5450': 'SERVO_ERROR_CODE_BASE_SVIRCALNORM',
    '0x5458': 'SERVO_ERROR_CODE_BASE_SVIRCALFLEX',
    '0x5459': 'SERVO_ERROR_CODE_BASE_SVIRCALMOTOR',
    '0x545a': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO',
    '0x545b': 'SERVO_ERROR_CODE_BASE_SVIRCALFGAIN',
    '0x545c': 'SERVO_ERROR_CODE_BASE_SVIRCALSEEK',
    '0x545d': 'SERVO_ERROR_CODE_BASE_SVIRCALAPGAIN',
    '0x545e': 'SERVO_ERROR_CODE_BASE_SVIRCALLTR',
    '0x545f': 'SERVO_ERROR_CODE_BASE_SVIRCALGAINS',
    '0x5460': 'SERVO_ERROR_CODE_BASE_SVIRCALTANGHO',
    '0x5461': 'SERVO_ERROR_CODE_BASE_SVIRCALBW',
    '0x5470': 'SERVO_ERROR_CODE_BASE_SVIRRROOVF',
    '0x5471': 'SERVO_ERROR_CODE_BASE_SVIRRROALG',
    '0x5472': 'SERVO_ERROR_CODE_BASE_SVIRRAMPLUL',
    '0x5473': 'SERVO_ERROR_CODE_BASE_SVIRLATCHHANG',
    '0x5474': 'SERVO_ERROR_CODE_BASE_SVIRLOAD2FAST',
    '0x5475': 'SERVO_ERROR_CODE_BASE_SVIRLOAD2SLOW',
    '0x5476': 'SERVO_ERROR_CODE_BASE_SVIRIRCALIB',
    '0x5477': 'SERVO_ERROR_CODE_BASE_SVIRADCHANG',
    '0x5478': 'SERVO_ERROR_CODE_BASE_SVIRRAMPCALRANGE',
    '0x5480': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD0',
    '0x5481': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD1',
    '0x5482': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD2',
    '0x5483': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD3',
    '0x5484': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD4',
    '0x5485': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD5',
    '0x5486': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD6',
    '0x5487': 'SERVO_ERROR_CODE_BASE_SVIRCALRRO_HD7',
    '0x5490': 'SERVO_ERROR_CODE_BASE_SVIRSTRACEFILE',
    '0x5500': 'SIO_INVALID_SD_INDEX',
    '0x5501': 'SIO_INVALID_BUFF_PTR',
    '0x5502': 'SIO_ERR_TIMEOUT',
    '0x5503': 'SPP_ERR_DEVICE_INIT',
    '0x5504': 'SIO_INV_PARAM',
    '0x5505': 'SIO_INV_XFER_CMD_HDR_CHECKSUM',
    '0x5506': 'SIO_ERR_INV_CMD_FUNCTION',
    '0x5507': 'SIO_INV_CRC',
    '0x5508': 'SIO_UNKNOWN_ERR',
    '0x5509': 'SIO_ERR_XFER_REQ_GT_AVAIL_DATA',
    '0x550A': 'SIO_ERR_ACK_SIZE_REQ_GT_XFER_LEN_REQ',
    '0x550B': 'SIO_ERR_XFER_ABORT_REQUEST',
    '0x550C': 'SIO_ERR_TIMEOUT_XMIT_ISR',
    '0x550D': 'SIO_ERR_TIMEOUT_XMIT_DATA',
    '0x550E': 'SIO_ERR_TIMEOUT_RECV_ISR',
    '0x550F': 'SIO_ERR_TIMEOUT_XFER_REQ',
    '0x5510': 'SIO_PROT_ERR_CMD_NOT_EXPCTD',
    '0x5511': 'SIO_INV_TRANSFER_PAYLOAD_LEN',
    '0x5512': 'SIO_INV_TRANSFER_LENGTH',
    '0x5513': 'SIO_ERR_NO_DATA_TRANSFER_IN_PROG',
    '0x5514': 'SIO_ERR_XFER_CMD_ACK_SIZE',
    '0x5515': 'SIO_ERR_INV_ABN_NUMBER',
    '0x5516': 'SIO_ERR_MAX_CRC_ERRS_RECV_DATA',
    '0x5517': 'SIO_ERR_CRC_ERR_RECVED_RETRY_SENT',
    '0x5518': 'SIO_ERR_MAX_RETRIES',
    '0x5519': 'SIO_INV_XFER_CMD_PAYLOAD_LEN',
    '0x5520': 'SIO_ERR_CMD_ABORTED',
    '0x5521': 'SIO_ERR_TIMEOUT_WAITING_4_ACK_CMD',
    '0x5522': 'SIO_ERR_MAX_CRC_ERRS_NON_SEQ_ABN_RECV_DATA',
    '0x5523': 'SIO_ERR_WAITING_4_XFER_COMPLETE',
    '0x5524': 'SIO_ERR_INV_CMD_HDR_RESERVE_FIELD',
    '0x5525': 'SIO_ERR_INV_XFER_CMD_HDR_PARAM_FIELD',
    '0x5526': 'SIO_ERR_INV_XFER_CMD_PAYLOAD_CRC',
    '0x5527': 'SIO_ERR_INV_XFER_CMD_DIR_FIELD',
    '0x5528': 'SIO_ERR_INV_ACK_CMD_HDR_RESV_FIELD',
    '0x5529': 'SIO_ERR_INV_TRNSFR_CMPLTE_CMD_RESV_FIELD',
    '0x5530': 'SIO_ERR_INV_RETRY_CMD_RESV_FIELD',
    '0x5531': 'SIO_ERR_INV_ACK_CMD_HDR_LEN_FIELD',
    '0x5532': 'SIO_ERR_INV_TRNSFR_CMPLTE_CMD_LEN_FIELD',
    '0x5533': 'SIO_ERR_INV_RETRY_CMD_LEN_FIELD',
    '0x5534': 'SIO_ERR_INV_ACK_CMD_HDR_PARAM_FIELD',
    '0x5535': 'SIO_ERR_INV_TRNSFR_CMPLTE_CMD_PARAM_FIELD',
    '0x5536': 'SIO_ERR_INV_RETRY_CMD_PARAM_FIELD',
    '0x5537': 'SIO_ERR_INV_ACK_CMD_CHKSUM',
    '0x5538': 'SIO_ERR_INV_TRANSFER_CMPLTE_CMD_CHKSUM',
    '0x5539': 'SIO_ERR_INV_RETRY_CMD_CHKSUM',
    '0x5540': 'UART_OTHER_ERROR',
    '0x5541': 'UART_OVERRUN_ERROR',
    '0x5542': 'UART_FRAMING_ERROR',
    '0x6400': 'CANCEL_ERRORS_RANGE',
    '0x6401': 'CA_FLUSH_ALL_GOT_CANCELED',
    '0x6402': 'CA_FLUSH_CACHEDRELO_GOT_CANCELED',
    '0x6403': 'DISK_CANCEL_ERROR',
    '0x6404': 'EXEC_OPERATION_CANCELED',
    '0x6405': 'RSC_ALLOCATION_GOT_CANCELED',
    '0x6406': 'BG_ERR_CANCELLED',
    '0x6407': 'CACHE_RELO_OPERATION_CANCELLED',
    '0x6408': 'FMT_ERR_FORMAT_UNIT_CANCELLED',
    '0x6409': 'FM_ERR_CANCELED',
    '0x640A': 'DISK_REMOVE_BY_REQUEST',
    '0x640B': 'HOST_OPERATION_CANCELED',
    '0x7000': 'SERVO_PTM_ERROR_CODE_BASE',
    '0x7100': 'ERROR_CODE_BASE',
    '0x7200': 'ARCO_ERROR_CODE_BASE',
    '0x7300': 'SPT_PTM_ERROR_CODE_BASE',
    '0x7500': 'CTLR_PTM_ERROR_CODE_BASE',
    '0x7600': 'IBI_ERROR_CODE_BASE',
    '0x7F00': 'COMMON_PTM_ERROR_CODE_BASE',
    '0x7F01': 'PTM_ERR_INV_VEC_TBL_VER',
    '0x8000': 'HAL_INVALID_PARAMETER',
    '0x8020': 'HAL_FLASH_UNKNOWN_ERROR',
    '0x8021': 'HAL_FLASH_INVALID_FLASH_SECTOR_ADDRESS',
    '0x8022': 'HAL_FLASH_WRITE_LATCH_ENABLE_ERROR',
    '0x8023': 'HAL_FLASH_WRITE_PAGE_SEND_BYTE_ERROR',
    '0x8024': 'HAL_FLASH_WRITE_PAGE_TIMEOUT',
    '0x8025': 'HAL_FLASH_WRITE_PAGE_TO_SMEM_ERROR',
    '0x8026': 'HAL_FLASH_READ_BLOCK_GET_BYTE_ERROR',
    '0x8027': 'HAL_FLASH_BYTE_COUNT_EXCEEDS_DEVICE_LIMIT',
    '0x8028': 'HAL_FLASH_INVALID_FLASH_ADDRESS',
    '0x8029': 'HAL_FLASH_INITIAL_BOOT_HEADER_MISSING',
    '0x802A': 'HAL_FLASH_SEND_BYTE_TIMEOUT',
    '0x802B': 'HAL_FLASH_READ_CMD_ERROR',
    '0x802C': 'HAL_FLASH_INVALID_FLASH_DATA',
    '0x802D': 'HAL_FLASH_DATA_COMPARE_ERROR',
    '0x802E': 'HAL_FLASH_DEVICE_ID_ERROR',
    '0x802F': 'HAL_FLASH_READ_INFO_START_TIMEOUT',
    '0x8030': 'HAL_FLASH_STATUS_TIMEOUT',
    '0x8031': 'HAL_FLASH_COMMAND_TIMEOUT',
    '0x8032': 'HAL_FLASH_BAD_CHECKSUM',
    '0x8100': 'HAL_SYS_PLL_LOCK_FAILURE',
    '0x8101': 'HAL_SYS_SPP_CHECK_FAIL',
    '0x8102': 'HAL_SYS_UART_FIFO_FULL',
    '0x8103': 'HAL_SYS_UART_FIFO_EMPTY',
    '0x8104': 'HAL_SYS_UART_OVERRUN',
    '0x8105': 'HAL_SYS_UART_OTHERS_ERROR',
    '0x8106': 'HAL_SYS_UART_XMIT_FIFO_FULL',
    '0xB001': 'VSCE_INV_MOD_ACT_CODE_REQ',
    '0xB002': 'VSCE_VSC_CMD_SET_NOT_ENABLED',
    '0xB003': 'VSCE_INV_MOD_BYTE_IN_MODCFG_SEC_CMD',
    '0xB004': 'VSCE_INV_SMART_ENABLE_CODE',
    '0xB005': 'VSCE_INV_OP_REQ',
    '0xB006': 'VSCE_OFF_TOO_LARGE',
    '0xB007': 'VSCE_INV_HEAD_NUM',
    '0xB008': 'VSCE_CYL_ABOVE_LIMIT',
    '0xB009': 'VSCE_INV_WEDGE_OFF',
    '0xB00A': 'VSCE_INV_WEDGE_SIZE',
    '0xB00B': 'VSCE_START_ADDR_TOO_LARGE',
    '0xB00C': 'VSCE_LGTH_TOO_LARGE',
    '0xB00D': 'VSCE_INVALID_TBL_ID',
    '0xB00E': 'VSCE_UNSUP_ACTION_CODE',
    '0xB00F': 'VSCE_UNSUP_FUNCTION',
    '0xB010': 'VSCE_VAL_ACTION_CODE_UNSUP_FEATURE',
    '0xB011': 'VSCE_VAL_ACTION_CODE_UNSUP_OP',
    '0xB012': 'VSCE_INV_FUNC_CODE_REQ',
    '0xB013': 'VSCE_TBL_OFFSET_TOO_LARGE',
    '0xB014': 'VSCE_INV_EXCEPTION_FEAT',
    '0xB015': 'VSCE_INV_OFFSET',
    '0xB017': 'VSCE_INV_KEY_SECTOR_SIZE',
    '0xB018': 'VSCE_XFER_REQ_EXCEED_AVAILABLE_DATA',
    '0xB019': 'VSCE_INV_VSC_SOURCE',
    '0xB01A': 'VSCE_ACTION_CODE_OUT_OF_RANGE',
    '0xB01B': 'VSCE_KEY_SECTOR_MUST_PRECEED_DATA_XFER_REQUEST',
    '0xB01C': 'VSCE_INVALID_SETTLE_MODE',
    '0xB01D': 'VSCE_INV_ENABLE_DISABLE_KEY_IN_FEATURE_REGS',
    '0xB01E': 'VSCE_FUNC_NOT_SUPP_ON_SOC_PLATFORM',
    '0xB01F': 'VSCE_INV_SECTOR_REQUEST',
    '0xB020': 'VSCE_FLASH_LENGTH_TOO_SMALL',
    '0xB021': 'VSCE_FLASH_START_ADDR_TOO_SMALL',
    '0xB022': 'VSCE_FLASH_START_SECTOR_TOO_SMALL',
    '0xB023': 'VSCE_FLASH_ACCESS_RANGE_REQ_TOO_LARGE',
    '0xB024': 'VSCE_INVALID_LBA_REQUEST',
    '0xB025': 'VSCE_PST_BUFFER_NOT_ALLOCATED',
    '0xB026': 'VSCE_COMMAND_NOT_ALLOWED_FROM_PST',
    '0xB027': 'VSC_INVALID_PST_TEST_ID',
    '0xB028': 'VSC_INVALID_PST_VECTOR_ADDRESS',
    '0xB029': 'VSCE_PST_VSCD_BUFFER_TOO_SMALL',
    '0xB02A': 'VSCE_SECTOR_OFFSET_NOT_FROM_ZERO',
    '0xB02B': 'VSCE_INV_RSC_MEM_REQUEST',
    '0xB02C': 'VSCE_INV_PST_TEST_MODE_REQ',
    '0xB02D': 'VSCE_CLEAR_DRM_LOG_FAILED',
    '0xB02E': 'VSCE_CLEAR_FACTORY_FILE_FAILED',
    '0xB02F': 'VSCE_WARNING_WEAR_LVL_WITH_BG_DIS',
    '0xB030': 'VSCE_INVALID_WEAR_LVL_ARGUMENT',
    '0xB031': 'VSCE_INVALID_PERIOD_SHIFT_CTLR_ARGUMENT',
    '0xB032': 'VSCE_WARNING_DRM_FLUSH_WITH_BG_DIS',
    '0xB033': 'VSCE_INVALID_DRM_FLUSH_CTRL_ARGUMENT',
    '0xB034': 'VSCE_INVALID_SMART_BACKDOOR_ARGUMENT',
    '0xB035': 'VSCE_INVALID_BG_ACTIVITY_ARGUMENT',
    '0xB036': 'VSCE_INVALID_DTEMP_SAMPLING_ARGUMENT',
    '0xB038': 'VSCE_INVALID_CLEAR_DRM_SECTION',
    '0xB03C': 'VSCE_DEPOP_INVALID_HEAD_ID',
    '0xB03F': 'VSCE_REQ_ENDLBA_LESS_THAN_STARTLBA',
    '0xB040': 'VSCE_DEPOP_ONLY_ONE_HEAD',
    '0xB043': 'VSCE_INVALID_PST_MODE_ARGUMENT',
    '0xB04D': 'VSCE_PUSH_DOWNS_ON_TRACK',
    '0xB04E': 'VSCE_INVALID_PERIOD_SUM_PARA',
    '0xB04F': 'VSCE_HOST_DATA_XFER_DID_NOT_OCCUR',
    '0xB050': 'VSCE_INVALID_CLRDRM_AGENTCODE',
    '0xB051': 'VSCE_FEATURECTRL_INVALID_ARG',
    '0xB052': 'VSCE_FEATURECTRL_RD_FEATURE_UNSUP',
    '0xB053': 'VSCE_MEM_TBL_IS_READ_ONLY',
    '0xB054': 'VSCE_DEBUG_STOP_OCCURRED',
    '0xB055': 'VSCE_RDWRFIELD_INVALID_LENGTH',
    '0xB056': 'VSCE_REQUESTED_RELOS_GREATER_THAN_AVAIL',
    '0xB057': 'VSCE_INVALID_LENGTH',
    '0xB058': 'VSCE_INVALID_COUNT_VALUE',
    '0xB05A': 'VSCE_INV_ADDRESS_MODE',
    '0xB05B': 'VSCE_SERVO_TRACE_DISABLED',
    '0xB05C': 'VSCE_CFG_SVO_TRACE_ALRDY_ENABLED',
    '0xB05D': 'VSCE_INV_START_WEDGE',
    '0xB05E': 'VSCE_INV_ZONE_NUMBER',
    '0xB05F': 'VSCE_CYL_NOT_IN_GAIN_CAL_ZONE',
    '0xB060': 'VSCE_DSLE_GAIN_CAL_TO_RUN_THIS_CMD',
    '0xB061': 'VSCE_INV_CONFIG_SECTION',
    '0xB062': 'VSCE_SVO_INTFCE_RETND_INVLD_TABLE_SIZE',
    '0xB063': 'VSCE_GAINCAL_TABLE_NOT_INITIALIZED',
    '0xB064': 'VSCE_GAINCAL_TRAINING_NOT_STARTED',
    '0xB065': 'VSCE_GAINCAL_VALUE_NOT_TRAINED',
    '0xB066': 'VSCE_GAINCAL_FEATURE_NOT_IMPLEMENTED',
    '0xB067': 'VSCE_PARTIAL_FILE_REQUEST_PAST_EOF',
    '0xB068': 'VSCE_INV_DVT_OPCODE',
    '0xB069': 'VSCE_TEMP_SRAM_STATIC_ALREADY_ALLOCATED',
    '0xB06A': 'VSCE_TABLE_NOT_AVAILABLE_CACHE_RELO_DISABLED',
    '0xB070': 'VSCE_NO_TEMP_SRAM_STATIC_ALLOCATED',
    '0xB071': 'VSCE_INVALID_SMART_ATTRIBUTE_STATUS',
    '0xB072': 'VSCE_INVALID_SMART_ATTRIBUTE_ID',
    '0xB073': 'VSCE_SINGLE_PASS_TONESCAN_NOT_SUPPORTED',
    '0xB074': 'VSCE_INVALID_WEAR_LVL_MODE',
    '0xB075': 'VSCE_INVALID_WL_CONFIG_TABLE_NOT_AVAIL',
    '0xB076': 'VSCE_DEPOP_IBI_SRFC1_LOG_NOT_IN_TRK_DIR',
    '0xB077': 'VSCE_DEPOP_IBI_SRFC1_PES_NOT_IN_TRK_DIR',
    '0xB078': 'VSCE_PARTIAL_FILE_NOT_IN_PST_MODE',
    '0xB079': 'VSCE_DFH_MODE_NOT_ENABLED',
    '0xB07A': 'VSCE_PARAMETER_OUT_OF_RANGE',
    '0xB07B': 'VSCE_FMT_SELECT_CAPACITY_FAILURE',
    '0xB07C': 'VSCE_DCM_UNINITIALIZED',
    '0xB07D': 'VSCE_CAPACITY_GROUP_DEFINITION_ERROR',
    '0xB07E': 'VSCE_W_R_GAP_INFO_NOT_AVAILABLE',
    '0xB080': 'VSCE_DRIVE_PROTECT_LOCKED',
    '0xB081': 'VSCE_INVALID_REGION_NUMBER',
    '0xB082': 'VSCE_DISK_BACKEND_TBL_NOT_PRESENT',
    '0xB083': 'VSCE_COMPAREIDS_LBA_MISCOMPARE_ERROR',
    '0xB084': 'VSCE_FLEX_BIAS_FILTER_ERR',
    '0xB094': 'VSC_ERR_SOVL_ALREADY_LOADED',
    '0xB095': 'VSC_ERR_COVL_ALREADY_LOADED',
    '0xB0B1': 'VSC_ERR_COVL_ALREADY_LOADED',
    '0xB100': 'VSCE_INV_SMART_EN_CODE',
    '0xB101': 'SMART_INV_HOST_SECTOR_REQ',
    '0xB102': 'SMART_INV_VENDOR_SECTOR_REQ',
    '0xB103': 'SMART_FEAT_NOT_SUPP',
    '0xB104': 'SMART_INVALID_SECTOR_CNT',
    '0xB302': 'SMART_WRITE_SEL_TEST_ST_INPROGRESS',
    '0xB303': 'SMART_SELECTIVE_TEST_INVALID_VERSION',
    '0xB304': 'SMART_OFFLINE_IMM_DISABLED',
    '0xB305': 'SMART_RESOURCE_ALLOCATION_FAILED',
    '0xB306': 'SMART_STATUS_FAILED',
    '0xB400': 'VSCE_OBSOLETE_COMMAND',
    '0xB401': 'VSCE_SMART_CMD_W_SMART_DIS',
    '0xB402': 'VSCE_FEAT_NOT_SUPP',
    '0xB403': 'VSCE_SECURITY_CMD_W_BAD_PARAMETER',
    '0xB404': 'VSCE_SECURITY_CMD_W_SECURITYMODE_DISABLED',
    '0xB405': 'VSCE_SECURITY_CMD_W_DISK_FROZEN',
    '0xB406': 'VSCE_SECURITY_CMD_W_DISK_LOCKED',
    '0xB407': 'VSCE_SECURITY_CMD_W_DISK_LOCKEDORFROZEN',
    '0xB408': 'VSCE_SECURITY_CMD_W_DISK_EXPIREDORFROZEN',
    '0xB409': 'VSCE_SECURITY_CMD_W_RECEIVE_DATAERROR',
    '0xB40A': 'VSCE_SECURITY_CMD_W_PASSWORD_MISCOMPARE',
    '0xB40B': 'VSCE_SECURITY_CMD_W_PASSWORD_IS_ZERO',
    '0xB40C': 'VSCE_SECURITY_CMD_W_INV_MASTER_PW_REVISION',
    '0xB40D': 'VSCE_SECURITY_CMD_NO_ERASE_PREPARE',
    '0xB40E': 'VSCE_SECURITY_CMD_RCVD_IN_INVAL_STATE',
    '0xB418': 'VSCE_CHS_LBA_TOO_LARGE',
    '0xB430': 'VSCE_ERRINJ_INV_FUNC_CODE',
    '0xB431': 'VSCE_ERRINJ_INV_ERR_TYPE',
    '0xB432': 'VSCE_ERRINJ_INV_NRZ_MODE',
    '0xB800': 'BG_ERR_INVALID_SELFTEST_SELECTED',
    '0xC001': 'SCT_UNSUP_BIST_MODE_IN_PATTERN_REQ',
    '0xC200': 'HPA_INVALID_VALUE_SPECIFIED',
    '0xC201': 'HPA_LOCK_IN_PLACE',
    '0xC202': 'HPA_LOCK_NOT_IN_PLACE',
    '0xC203': 'HPA_FREEZE_LOCK_IN_PLACE',
    '0xC204': 'HPA_COMMAND_SEQUENCE_ERROR',
    '0xC205': 'HPA_SET_MAX_ADDR_EXT_IN_PLACE',
    '0xC206': 'HPA_PASSWORD_ACTIVE',
    '0xC207': 'HPA_PASSWORD_NOT_ACTIVE',
    '0xC208': 'HPA_PASSWORD_MISCOMPARE',
    '0xC209': 'HPA_SECOND_NON_VOLATILE_COMMAND',
    '0xC20A': 'HPA_READ_MAX_FIRST_COMMAND',
    '0xC20B': 'HPA_COMMAND_SEQUENCE_FAULT',
    '0xC400': 'HOST_UNSUPPORTED_ATA_OPCODE',
    '0xC401': 'HOST_RECEIVED_LBA_TOO_BIG',
    '0xC402': 'HOST_LBA_OUT_OF_RANGE',
    '0xC403': 'HOST_DRV_PARAMS_SPT_NOT_SUPPORTED',
    '0xC404': 'HOST_DRV_PARAMS_HDS_NOT_SUPPORTED',
    '0xC405': 'HOST_UNSUPPORTED_FEATURE_VALUE',
    '0xC406': 'HOST_UNSUPPORTED_MULTI_COUNT',
    '0xC407': 'HOST_MULTI_NOT_SET',
    '0xC408': 'HOST_DIS_IORDY_NOT_SUPPORTED',
    '0xC409': 'HOST_UNSUPPORTED_COMMAND_IN_PST_MODE',
    '0xC40A': 'HOST_INVALID_SECTOR_COUNT',
    '0xC40B': 'HOST_VSC_CMD_EXECUTING_IN_BKGRND',
    '0xC40C': 'HOST_CMD_NOT_ALLOWED_GAIN_CAL_MODE_ACTIVE',
    '0xC40D': 'HOST_QUEUE_CMD_INTERMIX_ERROR',
    '0xC40E': 'HOST_UNSUPPORTED_SET_FEATURE_SATA_FEATURE',
    '0xC40F': 'HOST_QUEUE_TAG_ERROR',
    '0xC410': 'HOST_INVALID_CHS_CYLINDER_NUMBER',
    '0xC411': 'HOST_INVALID_CHS_HEAD_NUMBER',
    '0xC412': 'HOST_INVALID_CHS_SECTOR_NUMBER',
    '0xC413': 'HOST_UNSUPPORTED_ATA_CMD_IN_SIO_MODE',
    '0xC414': 'HOST_RESERVED_STANDBY_TIMER_VALUE',
    '0xC420': 'HOST_PUIS_SET_FEATURE_DISABLED_IN_CFG_SECTOR',
    '0xC421': 'HOST_PUIS_FLASH_SET_TO_USE_JUMPER',
    '0xC422': 'HOST_PUIS_SET_FEATURE_NOT_SUPPORTED_IN_XPM2',
    '0xC423': 'HOST_PUIS_SPIN_UP_CMD_NOT_SUPPORTED_IN_XPM2',
    '0xC424': 'HOST_PUIS_JUMPER_ENABLED_IN_FLASH_NO_JUMPER',
    '0xC425': 'HOST_PUIS_DISABLED_IN_FLASH',
    '0xC430': 'HOST_INVALID_ATA_STREAM_ID',
    '0xC431': 'HOST_ATA_STREAM_ID_NOT_CFG',
    '0xC581': 'HOST_LOCKED_UNIT_ACCESS_DENIED',
    '0xC586': 'HOST_NCQ_NO_RDLOG10',
    '0xC601': 'HOST_INTERFACE_CRC_ERROR',
    '0xC602': 'HOST_INTERFACE_CRC_OVERRUN_UNDERRUN_ERROR',
    '0xC603': 'HOST_INTERFACE_OVERRUN_UNDERRUN_ERROR',
    '0xC641': 'HOST_SATA_CRC_ERROR',
    '0xC642': 'HOST_SATA_RX_PROTOCOL_ERROR',
    '0xC643': 'HOST_SATA_RX_SYNC_TERMINATE_ERROR',
    '0xC644': 'HOST_SATA_RX_LENGTH_ERROR',
    '0xC645': 'HOST_SATA_TX_RERR_ERROR',
    '0xC646': 'HOST_SATA_TX_SYNC_TERMINATE_ERROR',
    '0xC647': 'HOST_SATA_RETRANSMIT_ERROR',
    '0xC648': 'HOST_SATA_TM_FIFO_ERROR',
    '0xC649': 'HOST_SATA_DISPARITY_ERROR',
    '0xC64A': 'HOST_SATA_CODE_VIOLATION_ERROR',
    '0xC64B': 'HOST_SATA_LINK_HUNG_ERROR',
    '0xC64C': 'HOST_SATA_UNRECOGNIZED_FIS_ERROR',
    '0xC64D': 'HOST_SATA_UNKNOWN_ERROR',
    '0xC64E': 'HOST_SATA_RX_DISPARITY_IN_FIS',
    '0xC64F': 'HOST_SATA_WRITE_XFER_OVERRUN',
    '0xC800': 'DCO_INVALID_FEATURE_SET',
    '0xC801': 'DCO_FREEZE_LOCK_IN_PLACE',
    '0xC802': 'DCO_ERR_CHECKSUM',
    '0xC803': 'DCO_ERR_SIGNATURE',
    '0xC804': 'DCO_ERR_INVALID_UDMA_MODE',
    '0xC805': 'DCO_ERR_CMND_ABORTED',
    '0xC820': 'UNSUPPORTED_LOG_ADDRESS',
    '0xC840': 'CHGDEFCMD_INVALID_PSWD_ERROR',
    '0xC841': 'CHGDEFCMD_INVALID_CFG_NUM_ERROR',
    '0xC842': 'CHGDEFCMD_UNDEFINED_CAPACITY_ERROR',
    '0xC843': 'CHGDEFCMD_ILLEGAL_CAPACITY_ERROR',
    '0xC844': 'CHGDEFCMD_ERROR_COUNTER_MAX_ERROR',
    '0xC845': 'CHGDEFCMD_INVALID_CFGSEL_ARRAY_ERROR',
    '0xC846': 'CHGDEFCMD_NOT_ENABLED_ERROR',
    '0xC847': 'CHGDEFCMD_NATIVE_MAX_LBA_INVALID_ERROR',
    '0xC848': 'CHGDEFCMD_FIELD_LIST_ERROR',
    '0xFFFE': 'NOT_AN_ERR_SIO_INVLD_NON_ATA_OPCODE',
    '0xFFFF': 'NOT_AN_ERR_VSC_CMD_EXEC_IN_BKG',
}

err_code.update(cfg_code_ext)

def sort_list(code_list):
    for i in range(len(code_list)):
        print(code_list[i])
    for i in range(len(code_list)):
        line = str(code_list[i])
        line = line.replace(',', ':')
        line = line.replace('(', '')
        line = line.replace(')', ',')
        print(line)

def sort_err_code():
    code_list = sorted(err_code.items(), key=lambda x:x[0])
    sort_list(code_list)

#sort_err_code()
